<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns:jsp="http://java.sun.com/JSP/Page"
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:ci="http://java.sun.com/jsp/jstl/core"
	xmlns:c="http://sourceforge.net/projects/jsf-comp"
	xmlns:fn="http://java.sun.com/jsp/jstl/functions"
	xmlns:t="http://myfaces.apache.org/tomahawk"
    xmlns:p="http://primefaces.org/ui">

	<ui:composition template="/template/pPrincipal.xhtml">
		<ui:define name="head">
			<title>Asesor 360</title>
			<script type="text/javascript">//<![CDATA[  
				function handleMantPerfilGuardarRequest(xhr, status, args) {
					if(args.isMantPerfilGuardarOk) {
						popmpMensaje.show();
			        }
			    }
			//]]></script>
			<style type="text/css">
	  		</style>
		</ui:define>		
		<ui:define name="titulopagina">
			<h:outputText value="MANTENIMIENTO DE PERFILES DE INVERSIÓN" />
		</ui:define>		
		<ui:define name="agregaIconoExcelRe">
		</ui:define>		  
		<ui:define name="agregaIconoEmail">
		</ui:define>		
		<ui:define name="agregaIconoPDFRe">
		<h:panelGrid>
        	<h:commandLink action="#{exportarModel.exportarReporteListadoPdf}" onclick="if(!comparaCambiosPerfilDatos()){return false;}"/>
        </h:panelGrid>
        </ui:define>
		<ui:define name="bodyarea">
			<input type="hidden" id="nomReporte" name="nomReporte" value="DetallePerfilInversion"/>
			<f:event type="preRenderView" listener="#{mantenimientoPerfilesController.onPageLoad}"/>
			<p:messages id="messages" showDetail="true" closable="true" />
			<h:panelGrid id="idContentMain" width="100%">
			<h:panelGrid columns="1" width="100%" styleClass="bordePanel"
				headerClass="cabeceraPanelSimple" cellspacing="0" cellpadding="5"
				style="margin-left: 0px; margin-top: 3px; margin-bottom:5px">
				<f:facet name="header">
					<h:outputText value="Datos del Perfil de Inversión" />
				</f:facet>
				<h:panelGrid columns="2" width="100%" styleClass="stylePanelColumnsPadre">
					<h:panelGrid columns="2" styleClass="stylePanelColumnsHijo">
						<h:outputLabel value="Nombre Perfil:" styleClass="texto" />
						<h:inputText value="#{perfilDatosModel.nombre}" id="nombrePerfil" styleClass="inputTextoLargo"/>							
						<h:outputLabel value="Descripción Perfil:" styleClass="texto" />
						<h:inputTextarea value="#{perfilDatosModel.descripcion}" id="descripcion" styleClass="textoArea"/>
						<h:outputLabel value="Objetivo Inversión:" styleClass="texto" />
						<h:inputTextarea value="#{perfilDatosModel.objetivo}" id="objetivo" styleClass="textoArea"/>
						<h:outputLabel value="Horizonte Inversión:" styleClass="texto" />
						<h:inputText value="#{perfilDatosModel.horizonte}" id="horizonte" styleClass="inputTextoLargo" />
						<h:outputLabel value="Volatilidad:" styleClass="texto" />
						<h:inputText value="#{perfilDatosModel.volatilidad}" id="volatilidad" styleClass="inputTextoMediano" />								
						<h:outputLabel value="Puntaje Mínimo:" styleClass="texto" />
						<h:inputText value="#{perfilDatosModel.minimo}" id="minimo"  
							onkeypress = "return CatchNonNumbers_(event,0,0,'.',this,0,3,this);" styleClass="inputTextoSemi" />
						<h:outputLabel value="Puntaje Máximo:" styleClass="texto" />
						<h:inputText value="#{perfilDatosModel.maximo}" id="maximo" 
							onkeypress = "return CatchNonNumbers_(event,0,0,'.',this,0,3,this);" styleClass="inputTextoSemi" />
						<h:outputLabel value="Vencimiento Perfilamiento:" styleClass="texto" />																								
						<h:inputText value="#{perfilDatosModel.perfilamientovencimiento}" id="perfilVencimiento" 
							onkeypress = "return CatchNonNumbers_(event,0,0,'.',this,0,3,this);" styleClass="inputTextoSemi" />
						<h:outputLabel value="Vencimiento Rebalanceo:" styleClass="texto" />
						<h:inputText value="#{perfilDatosModel.rebalanceovencimiento}" id="rebalanceoVencimiento" 
							onkeypress = "return CatchNonNumbers_(event,0,0,'.',this,0,3,this);" 
							styleClass="inputTextoSemi" />
					</h:panelGrid>
					<h:panelGrid columns="1" styleClass="stylePanelColumnsHijo">
						<p:fieldset legend="Distribución Por Categoría de Activos">
							<p:dataTable id="listCategorias" value="#{mantenimientoPerfilesController.mantPerfilesModel.listaCategoriaActivos}"
								var="fila" emptyMessage="No existe Información." styleClass="styleDataTableWrapNormal"
								paginator="true" rows="7" rowIndexVar="rowIndex"
								rowStyleClass="#{(rowIndex mod 2) eq 0 ? 'styleDataTableRowColorClaro' : 'styleDataTableRowColorOscuro'}">
								<p:column width="250">
									<f:facet name="header">
										<h:outputText value="Categoría de Activos" />
									</f:facet>
									<h:outputText value="#{fila.descripcionCategoriaActivo}"/>
								</p:column>
								<p:column width="50">
									<f:facet name="header">
										<h:outputText value="Valor (%)" />
									</f:facet>
									<h:inputText value="#{fila.valor}" styleClass="inputTextStrechReducido" onblur="formatTextNumber(this);" 
										onkeypress="return CatchNonNumbers_(event,0,1,'.',this,2,3,this);"/>
								</p:column>											
							</p:dataTable>
						</p:fieldset>
					</h:panelGrid>										
				</h:panelGrid>
			</h:panelGrid>
			<h:panelGrid columns="1" width="100%" styleClass="bordePanel"
				headerClass="cabeceraPanelSimple" cellspacing="0" cellpadding="5"
				style="margin-left: 0px; margin-top: 3px; margin-bottom:5px">
				<f:facet name="header">
					<h:outputText value="Distribución  de Productos" />
				</f:facet>
				<h:panelGrid columns="1" id="panelDistribucionPEN" styleClass="stylePanelColumnsHijo">
					<p:fieldset legend="Distribución de Productos PEN" toggleable="true" toggleSpeed="500">
						<h:panelGrid columns="2">
							<h:outputText value="Categoría:" styleClass="texto" />
							<p:selectOneMenu id="cmbCategoriaPEN" value="#{mantenimientoPerfilesController.mantPerfilesModel.categoriaProductoPEN}"
								converter="categoriaProdComboConverter">
								<p:ajax event="change" listener="#{mantenimientoPerfilesController.changePEN}" 
								update=":formPrincipal:cmbTipoPEN"/>
								<f:selectItems value="#{comboModel.listaCatProductos}"/>
							</p:selectOneMenu>
							<h:outputText value="Producto:" styleClass="texto" />
							<p:selectOneMenu id="cmbTipoPEN" value="#{mantenimientoPerfilesController.tipoProductoPEN}"
								converter="mapComboConverter2">
								<f:selectItems value="#{mantenimientoPerfilesController.mantPerfilesModel.listaTipoProductoPEN}"/>
							</p:selectOneMenu>
							<p:commandButton id="idAgregarPEN" icon="ui-icon-plusthick" actionListener="#{mantenimientoPerfilesController.addPEN}"
								value="Agregar" update=":formPrincipal:tableDistribucionPEN,:formPrincipal:idMensajePEN"/>
							<h:outputText value=""/>
						</h:panelGrid>	
						<h:panelGrid columns="1">
							<h:outputText value="#{mantenimientoPerfilesController.mensajePEN}" styleClass="messages" id="idMensajePEN"/>
							<p:dataTable id="tableDistribucionPEN" value="#{mantenimientoPerfilesController.mantPerfilesModel.listaDistribucionPEN}"
								var="fila" emptyMessage="No existe Información." styleClass="styleDataTableWrapNormal"
								paginator="true" rows="6" rowIndexVar="rowIndex"
								rowStyleClass="#{(rowIndex mod 2) eq 0 ? 'styleDataTableRowColorClaro' : 'styleDataTableRowColorOscuro'}">>
								<p:column width="140">
									<f:facet name="header">
										<h:outputText value="Categoría de Producto" />
									</f:facet>
									<h:outputText value="#{fila.categoria}"/>
								</p:column>
								<p:column width="120">
									<f:facet name="header">
										<h:outputText value="Producto" />
									</f:facet>
									<h:outputText value="#{fila.producto}"/>
								</p:column>
								<p:column width="45">
									<f:facet name="header">
										<h:outputText value="Valor (%)" />
									</f:facet>
									<h:inputText styleClass="inputTextStrechReducido" value="#{fila.valor}" onblur="formatTextNumber(this);" 
										onkeypress = "return CatchNonNumbers_(event,0,1,'.',this,2,3,this);"/>
								</p:column>
								<p:column width="10">
									<f:facet name="header">
										<h:outputText value="" />
									</f:facet>
									<p:commandButton id="eliminarPEN" actionListener="#{mantenimientoPerfilesController.eliminarPEN(fila)}" 
										icon="ui-icon ui-icon-closethick" update=":formPrincipal:tableDistribucionPEN"/>
									<p:tooltip for="eliminarPEN" value="Eliminar"/>
								</p:column>
							</p:dataTable>
						</h:panelGrid>
					</p:fieldset>
					<p:fieldset legend="Distribución de Productos USD" toggleable="true" toggleSpeed="500">
						<h:panelGrid columns="2">
							<h:outputText value="Categoría:" styleClass="texto" />
							<p:selectOneMenu id="cmbCategoriaUSD" value="#{mantenimientoPerfilesController.mantPerfilesModel.categoriaProductoUSD}"
								converter="categoriaProdComboConverter">
								<p:ajax event="change" listener="#{mantenimientoPerfilesController.changeUSD}" 
								update=":formPrincipal:cmbTipoUSD"/>
								<f:selectItems value="#{comboModel.listaCatProductos}"/>
							</p:selectOneMenu>
							<h:outputText value="Producto:" styleClass="texto" />
							<p:selectOneMenu id="cmbTipoUSD" value="#{mantenimientoPerfilesController.tipoProductoUSD}"
								converter="mapComboConverter2">
								<f:selectItems value="#{mantenimientoPerfilesController.mantPerfilesModel.listaTipoProductoUSD}"/>
							</p:selectOneMenu>			
							<p:commandButton id="idAgregarUSD" icon="ui-icon-plusthick" actionListener="#{mantenimientoPerfilesController.addUSD}"
								value="Agregar" update=":formPrincipal:tableDistribucionUSD,:formPrincipal:idMensajeUSD"/>
							<h:outputText value=""/>				
						</h:panelGrid>	
						<h:panelGrid  columns="1">
							<h:outputText value="#{mantenimientoPerfilesController.mensajeUSD}" styleClass="messages" id="idMensajeUSD"/>
							<p:dataTable id="tableDistribucionUSD" value="#{mantenimientoPerfilesController.mantPerfilesModel.listaDistribucionUSD}"
								var="fila" emptyMessage="No existe Información." styleClass="styleDataTableWrapNormal"
								paginator="true" rows="6" rowIndexVar="rowIndex"
								rowStyleClass="#{(rowIndex mod 2) eq 0 ? 'styleDataTableRowColorClaro' : 'styleDataTableRowColorOscuro'}">>
								<p:column width="140">
									<f:facet name="header">
										<h:outputText value="Categoría de Producto" />
									</f:facet>
									<h:outputText value="#{fila.categoria}"/>
								</p:column>
								<p:column width="120">
									<f:facet name="header">
										<h:outputText value="Producto" />
									</f:facet>
									<h:outputText value="#{fila.producto}"/>
								</p:column>
								<p:column width="45">
									<f:facet name="header">
										<h:outputText value="Valor (%)" />
									</f:facet>
									<h:inputText value="#{fila.valor}" styleClass="inputTextStrechReducido" onblur="formatTextNumber(this);" 
										onkeypress = "return CatchNonNumbers_(event,0,1,'.',this,2,3,this);"/>
								</p:column>
								<p:column width="10">
									<f:facet name="header">
										<h:outputText value="" />
									</f:facet>
									<p:commandButton id="eliminarUSD" actionListener="#{mantenimientoPerfilesController.eliminarUSD(fila)}" 
											icon="ui-icon ui-icon-closethick" update=":formPrincipal:tableDistribucionUSD"/>
									<p:tooltip for="eliminarUSD" value="Eliminar"/>
								</p:column>
							</p:dataTable>
						</h:panelGrid>
					</p:fieldset>
					<p:fieldset legend="Distribución de Productos EUR" toggleable="true" toggleSpeed="500">
						<h:panelGrid columns="2">
							<h:outputText value="Categoría:" styleClass="texto" />
							<p:selectOneMenu id="cmbCategoriaEUR" value="#{mantenimientoPerfilesController.mantPerfilesModel.categoriaProductoEUR}"
								converter="categoriaProdComboConverter">
								<p:ajax event="change" listener="#{mantenimientoPerfilesController.changeEUR}" 
								update=":formPrincipal:cmbTipoEUR"/>
								<f:selectItems value="#{comboModel.listaCatProductos}"/>
							</p:selectOneMenu>
							<h:outputText value="Producto:" styleClass="texto" />
							<p:selectOneMenu id="cmbTipoEUR" value="#{mantenimientoPerfilesController.tipoProductoEUR}"
								converter="mapComboConverter2">
								<f:selectItems value="#{mantenimientoPerfilesController.mantPerfilesModel.listaTipoProductoEUR}"/>
							</p:selectOneMenu>
							<p:commandButton id="idAgregarEUR" icon="ui-icon-plusthick" actionListener="#{mantenimientoPerfilesController.addEUR}"
								value="Agregar" update=":formPrincipal:tableDistribucionEUR,:formPrincipal:idMensajeEUR"/>
							<h:outputText value=""/>
						</h:panelGrid>	
						<h:panelGrid columns="1">
							<h:outputText value="#{mantenimientoPerfilesController.mensajeEUR}" styleClass="messages" id="idMensajeEUR"/>
							<p:dataTable id="tableDistribucionEUR" value="#{mantenimientoPerfilesController.mantPerfilesModel.listaDistribucionEUR}"
								var="fila" emptyMessage="No existe Información." styleClass="styleDataTableWrapNormal"
								paginator="true" rows="6" rowIndexVar="rowIndex"
								rowStyleClass="#{(rowIndex mod 2) eq 0 ? 'styleDataTableRowColorClaro' : 'styleDataTableRowColorOscuro'}">>
								<p:column width="140">
									<f:facet name="header">
										<h:outputText value="Categoría de Producto" />
									</f:facet>
									<h:outputText value="#{fila.categoria}"/>
								</p:column>
								<p:column width="120">
									<f:facet name="header">
										<h:outputText value="Producto" />
									</f:facet>
									<h:outputText value="#{fila.producto}"/>
								</p:column>
								<p:column width="45">
									<f:facet name="header">
										<h:outputText value="Valor (%)" />
									</f:facet>
									<h:inputText value="#{fila.valor}" styleClass="inputTextStrechReducido" onblur="formatTextNumber(this);" 
										onkeypress = "return CatchNonNumbers_(event,0,1,'.',this,2,3,this);"/>
								</p:column>
								<p:column width="10">
									<f:facet name="header">
										<h:outputText value="" />
									</f:facet>
									<p:commandButton id="eliminarEUR" actionListener="#{mantenimientoPerfilesController.eliminarEUR(fila)}" 
										icon="ui-icon ui-icon-closethick" update=":formPrincipal:tableDistribucionEUR"/>
									<p:tooltip for="eliminarEUR" value="Eliminar"/>
								</p:column>
							</p:dataTable>
						</h:panelGrid>
					</p:fieldset>
				</h:panelGrid>
			</h:panelGrid>
			<h:panelGrid columns="5" width="100%">
				<p:spacer width="150" height="10"/>		
				<p:commandButton icon="ui-icon ui-icon-disk" value="Guardar" oncomplete="handleMantPerfilGuardarRequest(xhr, status, args)"
					actionListener="#{mantenimientoPerfilesController.guardarPerfilInversion}" id="btnGuardar"/>
				<p:spacer width="50" height="10"/>
				<p:commandButton actionListener="#{mantenimientoPerfilesController.redirectConsPerfilInversion}"
					icon="ui-icon-cancel" value="Cancelar"/>
				<p:spacer width="130" height="10"/>
			</h:panelGrid>
			</h:panelGrid>
			<p:blockUI block=":formPrincipal:idContentMain" trigger=":formPrincipal:btnGuardar">
				<h:panelGrid columns="2">
					<p:graphicImage value="/imagenes/iconos/ajax-loader1.gif" style="margin-right: 12px; vertical-align: middle;"/>
					<h:outputText value="Guardando..." style="white-space: nowrap;" />
				</h:panelGrid>
			</p:blockUI>
		</ui:define>
		
		<ui:define name="extraarea">
			<p:dialog id="idmpMensaje" header="Mensaje" widgetVar="popmpMensaje" modal="true"
				dynamic="true" width="250" closable="false">
				<h:form id="formModalMensaje">
		   			<h:panelGrid columns="2" styleClass="pangelGridCenter">
						<p:graphicImage value="/imagenes/iconos/icoInformation.gif" style="margin-right: 12px; vertical-align: middle;"/>
						<h:outputText value="Se guardó correctamente." style="white-space: nowrap;" />
					</h:panelGrid>
					<h:panelGrid columns="1" styleClass="pangelGridCenter">
						<p:commandButton actionListener="#{mantenimientoPerfilesController.redirectConsPerfilInversion}"
							icon="ui-icon ui-icon-check" value="Aceptar"/>
					</h:panelGrid>
				</h:form>
		   </p:dialog>
		</ui:define>		
	</ui:composition>
</html>
